package Negocio;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * @author asabido
 */
public class Tratamiento {
    
    private Integer ID;
    private String nombre;
    private String descripcion;
    private int duracion;
    private int precio;
    private String requisitos;

    public Tratamiento() {
    }

    public Integer getID() {
        return ID;
    }

    public void setID(Integer ID) {
        this.ID = ID;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @return the duracion
     */
    public int getDuracion() {
        return duracion;
    }

    /**
     * @param duracion the duracion to set
     */
    public void setDuracion(int duracion) {
        this.duracion = duracion;
    }

    /**
     * @return the precio
     */
    public int getPrecio() {
        return precio;
    }

    /**
     * @param precio the precio to set
     */
    public void setPrecio(int precio) {
        this.precio = precio;
    }

    /**
     * @return the requisitos
     */
    public String getRequisitos() {
        return requisitos;
    }

    /**
     * @param requisitos the requisitos to set
     */
    public void setRequisitos(String requisitos) {
        this.requisitos = requisitos;
    }
    
    public void getbyID(Connection conn, int ID) {
        try
       {
           Statement stmt = conn.createStatement();
           ResultSet rset = stmt.executeQuery("SELECT * FROM `bysDB`.`Tratamiento` WHERE ID="+ID+";");
                      
           if(rset.next()){
               this.ID = rset.getInt("ID");
               this.nombre = rset.getString("nombre");
               this.descripcion = rset.getString("descripcion");
               this.duracion = Integer.parseInt(rset.getString("duracion"));
               this.precio = Integer.parseInt(rset.getString("precio"));
               this.requisitos = rset.getString("requisitos");
           }
           if (rset !=null) rset.close();
           if (stmt != null) stmt.close();
           if (conn != null)conn.close();

        } catch (Exception e) {
            Logger.getLogger("Producto").log(Level.SEVERE, "ERROR: " + e.getLocalizedMessage());
        }
    }
    
        public void getbyNombre(Connection conn, String nombre) {
        try
       {
           Statement stmt = conn.createStatement();
           ResultSet rset = stmt.executeQuery("SELECT * FROM `bysDB`.`Tratamiento` WHERE nombre='"+nombre+"';");
                      
           if(rset.next()){
               this.ID = rset.getInt("ID");
               this.nombre = rset.getString("nombre");
               this.descripcion = rset.getString("descripcion");
               this.duracion = Integer.parseInt(rset.getString("duracion"));
               this.precio = Integer.parseInt(rset.getString("precio"));
               this.requisitos = rset.getString("requisitos");
           }
           if (rset !=null) rset.close();
           if (stmt != null) stmt.close();
           if (conn != null)conn.close();

        } catch (Exception e) {
            Logger.getLogger("Producto").log(Level.SEVERE, "ERROR: " + e.getLocalizedMessage());
        }
    }
    
    public List<Tratamiento> getAll(Connection conn) {
        try
       {
           Statement stmt = conn.createStatement();
           ResultSet rset = stmt.executeQuery("SELECT * FROM `bysDB`.`Tratamiento`");
           
           List<Tratamiento> tratamientos = new ArrayList<Tratamiento>();
                      
           while(rset.next()){
               Tratamiento t = new Tratamiento();
               t.setID(rset.getInt("ID"));
               t.setNombre(rset.getString("nombre"));
               t.setDescripcion(rset.getString("descripcion"));
               t.setDuracion(Integer.parseInt(rset.getString("duracion")));
               t.setPrecio(Integer.parseInt(rset.getString("precio")));
               t.setRequisitos(rset.getString("requisitos"));
               tratamientos.add(t);
           }
           if (rset !=null) rset.close();
           if (stmt != null) stmt.close();
           if (conn != null)conn.close();

           return tratamientos;

        } catch (Exception e) {
            Logger.getLogger("Producto").log(Level.SEVERE, "ERROR: " + e.getLocalizedMessage());
            return null;
        }
    }
    
}
